import java.util.ArrayList;
import java.util.Scanner;
 

public class RecordGoodOrder {
    // 创建商品库存
    static ArrayList<Good> goodsList = new ArrayList<Good>();
 
    public static void main(String[] args) {
        init();  // 初始化商品库存
        // 将书架上所有商品信息打印出来
        for (int i = 0 ; i < goodsList.size() ; i++){   // 遍历集合
            System.out.println(goodsList.get(i));  // 将集合中指定索引处的元素
        }
        while (true){
            // 获取控制台输入的信息
            Scanner in = new Scanner(System.in);
            System.out.println("请输入商品编号(输入-1退出):");
            int goodId = in.nextInt();
            Good stockGood = getGoodsById(goodId);    // 调用getGoodById方法,将值赋给stockGood
            if (stockGood != null){  // 判断是否存在此商品
                System.out.println("当前商品库存信息:" + stockGood);  // 打印商品信息
                System.out.println("请输入进货数量:");
                int bookNumber = in.nextInt();  // 用户输入进货量
                // 将输入的信息封装成Books对象
                Good good = new Good(stockGood.id, stockGood.name,stockGood.price,bookNumber,stockGood.price*bookNumber,stockGood.people);
                FileUtil.saveBooks(good);// 调用saveBooks方法,将本条数据保存到本地文件
                // 修改库存
                stockGood.setNumber(stockGood.number+bookNumber); // 通过stockGood调用setNumber方法,将输入的库存与原始库存相加
 
            }else if (goodId == -1){   // 判断输入的id是否为-1
                System.exit(0);   // JVM退出
            }else{
                System.out.println("商品编号错误!");
            }
        }
    }
    // 初始化商品库存的信息,将商品存入库存
    private static void init(){
        Good good1 = new Good(10001,"百事可乐",3.5,100,350,"张三");  // 创建Good对象,往里存入元素
        Good good2 = new Good(10002,"可口可乐",3,100,300,"李四");
        Good good3 = new Good(10003,"百事雪碧",4,100,400,"张三");
        goodsList.add(good1);   // 将Good对象存入集合中
        goodsList.add(good2);
        goodsList.add(good3);
    }
    // 根据输入的商品编号查找商品信息,循环遍历库存中的商品信息,找到商品编号相等的取出
    private static Good getGoodsById(int goodId){
        for (int i = 0 ; i < goodsList.size() ; i++){   // 遍历数组
            Good thisGood = goodsList.get(i);
            if (goodId == thisGood.id){   // 判断是否有该id
                return thisGood;   // 如果有则返回
            }
        }
        return null;   // 否则返回null
    }
}